`ifndef _ral_reg_REG_PRJ_sys_irq_global_irq_rtl_
`define _ral_reg_REG_PRJ_sys_irq_global_irq_rtl_

`include "vmm_ral_w1c_field_rtl.sv"
`include "vmm_ral_notifier_rtl.sv"


module ral_reg_REG_PRJ_sys_irq_global_irq_rtl(input  clk,
                              input  rstn,
                              input  [31:0] hst_wdat,
                              output [31:0] hst_rdat,
                              input  [3:0] hst_sel,
                              input  hst_wen,
                              output [0:0] resp_err_out,
                              output resp_err_rd, resp_err_wr,
                              input  [0:0] resp_err_in,
                              input  resp_err_wen,
                              output [0:0] timeout_out,
                              output timeout_rd, timeout_wr,
                              input  [0:0] timeout_in,
                              input  timeout_wen,
                              output [0:0] inner_err_out,
                              output inner_err_rd, inner_err_wr,
                              input  [0:0] inner_err_in,
                              input  inner_err_wen);

vmm_ral_w1c_field_rtl #(1, 'h0)
   resp_err(clk, rstn, resp_err_out,
   hst_wdat[0:0], hst_sel[0], hst_wen,
   resp_err_in, resp_err_wen);

vmm_ral_w1c_field_rtl #(1, 'h0)
   timeout(clk, rstn, timeout_out,
   hst_wdat[1:1], hst_sel[0], hst_wen,
   timeout_in, timeout_wen);

vmm_ral_w1c_field_rtl #(1, 'h1)
   inner_err(clk, rstn, inner_err_out,
   hst_wdat[2:2], hst_sel[0], hst_wen,
   inner_err_in, inner_err_wen);


vmm_ral_notifier_rtl _n_resp_err(clk, rstn, hst_sel[0], hst_wen, resp_err_rd, resp_err_wr);
vmm_ral_notifier_rtl _n_timeout(clk, rstn, hst_sel[0], hst_wen, timeout_rd, timeout_wr);
vmm_ral_notifier_rtl _n_inner_err(clk, rstn, hst_sel[0], hst_wen, inner_err_rd, inner_err_wr);


assign hst_rdat[31:0] = { inner_err_out, timeout_out, resp_err_out };


endmodule

`endif
